Field of the Invention
The present invention relates generally to a method for routing data packets and IP addressed messages, and IP addressed voice calls. More particularly, the present invention relates to transmission control protocol based on Internet protocol, which uses geo-position instead of an IP address, or geo-positions cross-referenced to an IP address in a database, or geo-position information contained in a data packet—which may be tagged using XML.
Problems in the Art
Currently, an application, such as a mail program, which desires to send or receive data, must rely on the TCP/IP layered set of protocols. Though other transmission control protocols, such as file transfer protocol, link access protocol, balanced file transfer access method, product definition interchange format, and asynchronous transfer mode, exist, it is the transmission control protocol/internet protocol (TCP/IP) which has become dominantly used. In general, TCP, transmission control protocol, is responsible for ensuring that data and other commands get through to the desired location. IP, or Internet Protocol, is a set of commands relied upon by TCP and others to get the data to its desired location. IP uses what have become known as IP addresses.
An IP address is currently a 32-bit number that identifies the sender and receiver of information. As the number of IP addresses is rapidly approaching the capacity limits of a 32-bit based number, there is a trend to implement a 128-bit based IP address system, known as Internet Protocol version 6 (IPv6). IPv6 is a more efficient protocol than the current version, IPv4, because there are so many more addresses available and can be distributed much more efficiently, greatly reducing the amount of work routers have to do. Even so, IPv6 cannot mathematically self-route data packets.
IPv6 must provide similar guarantees of anonymity as the current version, IPv4, which occurs using a “dynamic host” system that changes the users' various addresses. However, the requirement of a “dynamic host” is an extra step that requires computing resources and additional time on the telecommunication network.
The IP address has two parts, a particular network identifier and a specific device identifier. A router is either a device or a piece of software which is used to direct the flow of traffic and does so by examining the network portion of the IP address. Routers are connected to at least two networks on a gateway. The router maintains a table or library of available networks and determines, based on its understanding of the state of the networks it is connected to, just how a packet of data should be sent across the Internet. This library may be either a static routing table or a dynamic routing table.
A static routing table does not adjust to ever changing network conditions, so each change in the table or library must be done manually by the network administrator. Dynamic routing tables are built not by network administrators, but by routing protocols. These routing protocols exchange routing information and this information is then used to update the routing table. A routing protocol allows the gateways to adapt to network changes. Depending on whether the system on which routing is to occur is autonomous, the network administrator may choose to use either an interior or exterior routing protocol.
There are many interior routing protocols. Two such interior routing protocols are the routing information protocol and the open shortest path first protocol. Routing information protocol selects a route with the lowest number of gateways through which data must pass to reach its destination. It follows a distance-vector algorithm.
Open shortest path first protocol builds a directed graph of the entire network using the Dijkstra shortest path first algorithm. This algorithm works by assigning a cost of 0 to the root system in the network. It then locates the neighbors of the system and calculates the cost to reach each neighbor based on the sum of the cost to reach the system just installed plus the cost advertised for reaching each neighbor.
The open shortest path first protocol system must locate its neighbors through the use of hello packets. These hello packets are sent and then the system must listen for a return hello packet. The hello packet identifies the local router and lists the adjacent routers from which it has received packets. Receipt of a hello packet informs the router that it is an adjacent router to the sender and therefore this sender is a neighbor. This newly discovered neighbor is then added to the library.
The open shortest path first protocol then advertises all of its neighbors by flooding a Link State Advertisement (LSA) to the entire network. Another complex function of the protocol is to ensure no flooding of duplicate LSAs. This is done by comparing each LSA to previously received LSAs and discarding and duplicates.
Exterior routing protocols exchange routing information between autonomous systems. The leading exterior routing protocol is Border Gateway Protocol (BGP). BGP exchanges reachability through update messages. Like hello packets, these update messages are then used to build a routing table. Unlike open shortest path first protocol, BGP supports policy based routing which employs political, organizational, and security considerations when making routing decisions.
BGP acquires its neighbors through a standard TCP handshake and refers to them as peers. These peers send each other complete routing table updates when the connection is initially established. After the initial encounter, peers only send each other changes or messages indicating that they are still alive called Keepalive messages.
The use of hello packets, LSA, update messages, and keepalive messages is an unnecessary waste of computer and network processing, speed, and storage. These various messages all serve to update and monitor the routing table which is used to determine the best path for a data packet to take.
As communications move into the wireless age, it is becoming more and more important to develop a method of sending and receiving data from any point on earth. There is an effort under way to establish a mobile IP standard which would allow a user of any device which is capable of accessing the Internet to send and receive data from any point on earth.
Mobile IP allows any mobile node to move about, changing its point of attachment to the Internet, while continuing to be identified by its home IP address. Correspondent nodes send IP datagrams to a mobile node at its home address in the same way as with any other destination. This scheme allows transparent interoperation between mobile nodes and their correspondent nodes, but forces all datagrams for a mobile node to be routed through its home agent. Thus, datagrams to the mobile node are often routed along paths that are significantly longer than optimal. For example, if a mobile node is visiting some subnet, even datagrams from a correspondent node on the same subnet must be routed through the Internet to the mobile node's home agent (on its home network), only then to be tunneled back to the original subnet for final delivery. This indirect routing delays the delivery of the datagrams to mobile nodes, and places an unnecessary burden on the networks and routers along their paths through the Internet.
There is therefore a need for a method of routing data packets, which avoids these and other problems.